package cn.edu.scau.cmi.ema.dao;

import java.util.Set;

import org.springframework.dao.DataAccessException;
import cn.edu.scau.cmi.ema.domain.*;
import cn.edu.scau.cmi.ema.domain.base.CmiPagination;
import java.math.BigDecimal;
import java.util.Calendar;

public interface AdditiveaddressDAO extends JpaDao<Additiveaddress> {

	public Additiveaddress findAdditiveaddressById(Integer id) throws DataAccessException;

	public Additiveaddress findAdditiveaddressById(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByName(String name) throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByName(String name, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByNameContaining(String name_1) throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByNameContaining(String name_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByTime(Calendar time) throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByTime(Calendar time, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByPrice(BigDecimal price) throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByPrice(BigDecimal price, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByDescription(String description) throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByDescription(String description, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByDescriptionContaining(String description_1)
			throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddressByDescriptionContaining(String description_1, int startResult,
			int maxRows) throws DataAccessException;

	public Additiveaddress findAdditiveaddressByPrimaryKey(Integer id) throws DataAccessException;

	public Additiveaddress findAdditiveaddressByPrimaryKey(Integer id, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddresssByIds(Set<Integer> ids) throws DataAccessException;

	public Set<Additiveaddress> findAllAdditiveaddresss() throws DataAccessException;

	public Set<Additiveaddress> findAllAdditiveaddresss(int startResult, int maxRows) throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddresssByAdditive(Integer additiveId, int start, int max);

	public Set<Additiveaddress> findAdditiveaddresssByAddress(Integer addressId, int start, int max);

	public Set<Additiveaddress> findAdditiveaddresssByUnit(Integer unitId, int start, int max);

	public Set<Additiveaddress> findAdditiveaddressByCompositeProperities(String sql, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Additiveaddress> findAdditiveaddresssByDetachedCriteria(CmiPagination page) throws DataAccessException;

	public Additiveaddress findAdditiveaddressByPhysicalPrimaryKey(Integer additiveId, Integer addressId, Calendar time)
			throws DataAccessException;

	public Additiveaddress findAdditiveaddressByPhysicalPrimaryKey(Integer additiveId, Integer addressId, Calendar time,
			int startResult, int maxRows) throws DataAccessException;
}
